package com.yc.springmvc.bean;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.*;
import java.util.Date;
import java.util.List;


@Data
public class Person {
    @NotEmpty(message = "账号不能为空") //检查约束元素是否为 null或者是 EMPTY.
    @Length(min = 2, max = 16, message = "账号长度必须是2~16个字符")//@Length验证字符串长度
    String name;

    @Min(8)//验证 Number 和 String 对象是否大等于指定的值
    @Max(80)//验证 Number 和 String 对象是否小等于指定的值
    Integer age;
    Boolean student;
    @NotEmpty(message = "密码不能为空")
    @Length(min = 6, max = 16, message = "密码长度必须是6~16个字符")
    String pwd;
    @Email//@Email验证是否是邮件地址，如果为null,不进行验证，算通过验证
    String email;
    @Pattern(regexp = "1\\d{10}",message = "电话必须是1开头的11数字")//@Pattern 验证 String 对象是否符合正则表达式的规则
    String phone;
    @Past // 过去时间
    //@Future // 未来时间
    Date birthday;

    Person father;
    Person mather;
    List<Person> friends;

}
